package main

import (
	"GORM_Demo04/part07/TestStruct"
	"fmt"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

/**
一对多删除数据
	--关联数据需要操作的是领导表
    --先查询再删除
 	【1】采用Preload方式进行查询
		db.Preload("Department").Find(&leader, "l_id = ?", 1)
	【2】删除数据。同样也得注意全删除的问题
		db.Where("d_id = ?", 2).Delete(&leader.Department)

*/

func main() {
	db, err := gorm.Open("mysql", "root:123456@tcp(192.168.11.189:3306)/lztest?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		panic(err)
	}
	defer db.Close()

	var leader TestStruct.Leader
	db.Preload("Department").Find(&leader, "l_id = ?", 1)
	fmt.Println(leader)

	//删除数据。同样也得注意全删除的问题
	db.Where("d_id = ?", 2).Delete(&leader.Department)

}
